$(function () {
    // 获取当前页面可能传递过来的参数
    let id = location.search.split('=')[1]
    console.log(id)
    //填充默认数据
    // 一定要判断是否有id,如果有说明是编辑,则应该获取id所对应的数据,实现数据的默认填充
    if (id) {
        setTimeout(() => {
            $.ajax({
                url: bignews.article_search,
                data: { id },
                headers: { Authorization: localStorage.getItem('bignews_69_token') },
                dataType: 'json',
                success: function (res) {
                    console.log(res)
                    $('#inputTitle').val(res.data.title)
                    $('.article_cover').attr('src', res.data.cover)
                    $('.category').val(res.data.categoryId)
                    $('#postData').val(res.data.date)
                    $('#mytextarea').html(res.data.content)
                    // setTimeout(() => {
                    //     tinymce.activeEditor.setContent(res.data.content)
                    // }, 300);
                }
            }, 100);
        })
    }
    // 文章列表数据动态渲染
    $.ajax({
        url: bignews.category_list,
        headers: { Authorization: localStorage.getItem('bignews_69_token') },
        // 一页显示20行
        // data: { page: 1, perpage: 20 },
        dataType: 'json',
        success: function (res) {
            console.log(res)
            $('.category').html(template('cateTemp', res))
        }
    })

    // 日期插件的使用-初始化
    //点击显示（YYYY年MM月DD日 hh:mm:ss）格式
    jeDate("#postData", {
        isinitVal: true,
        festival: true,
        maxDate: new Date().toLocaleDateString(),
        theme: { bgcolor: "#D91600", pnColor: "#FF6653" },
        format: "YYYY-MM-DD hh:mm:ss"
    });

    // 富文本框插件的使用-初始化
    tinymce.init({
        selector: '#mytextarea',
        //skin:'oxide-dark',
        language: 'zh_CN',
        height: 450, //编辑器高度
        min_height: 200,
        plugins: [
            "advlist autolink lists link image charmap print preview anchor",
            "searchreplace visualblocks code fullscreen",
            "insertdatetime media table contextmenu paste imagetools wordcount",
            "code"
        ],
        toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image | code",
    })
    // 本地文件预览
    $('#inputCover').on('change', function () {
        // 获取当前用户所选择的文件对象
        let myfile = $('#inputCover')[0].files[0]
        // 判断是否选择了图片
        if (!myfile) { // 判断有没有选择文件
            alert('请选择封面')
            return
        }
        // 将文件储存到内存,并返回内存的存储地址
        let myurl = URL.createObjectURL(myfile)

        $('.article_cover').attr('src', myurl)
    })

    // 发表文章或者储存为草稿
    function publishArticle(state) {
        let formdata = new FormData()
        // 1.收集标题数据
        let title = $('#inputTitle').val()
        if (title.trim().length === 0) { // 判断有没有选择文件
            alert('请输入标题')
            return
        }

        // 2.收集封面数据
        let myfile = $('#inputCover')[0].files[0]
        if (!id) {
            if (!myfile) { // 判断有没有选择文件
                alert('请选择封面')
                return
            }

            if (myfile.type.indexOf('image/') === -1) {// 判断是否选择了图片
                alert('请选择图片做为封面')
                return
            }
            formdata.append('cover', myfile)
        } else {
            if (myfile && myfile.type.indexOf('image/') !== -1) {// 判断是否选择了图片
                formdata.append('cover', myfile)
            } else if (myfile && myfile.type.indexOf('image/') === -1) {// 判断是否选择了图片
                alert('请选择图片做为封面')
                return
            }


        }
        // 3.分类数据的获取
        let categoryId = $('.category').val() - 0
        console.log(categoryId)

        // 4.日期时间数据的获取
        let date = $('#postData').val()
        // console.log(date)
        // console.log((Formdata.get('cover')))

        // 5.收集文章内容
        let content = tinymce.activeEditor.getContent()
        console.log(content)
        if (content.length === 0) {
            alert('请输入文章内容')
            return
        }

        // let formdata = new FormData()  移动到上面了
        formdata.append('title', title)

        formdata.append('categoryId', categoryId)
        formdata.append('date', date)
        formdata.append('content', content)
        formdata.append('state', state)

        if (id) {
            formdata.append('id', id)
        }
        // 实现文章的发表
        $.ajax({
            type: 'post',
            url: id ? bignews.article_edit : bignews.article_publish,
            data: formdata,
            headers: { Authorization: localStorage.getItem('bignews_69_token') },
            processData: false,
            contentType: false,
            dataType: 'json',
            success: function (res) {
                console.log(res)
                alert(res.msg)
                location.href = './article_list.html'
            }
        })
    }
    // console.log(myfile)



    // 发布
    $('.btn-release').on('click', function (e) {
        // 取消默认事件
        e.preventDefault()
        publishArticle('已发布')
    })
    // 存为草稿
    $('.btn-draft').on('click', function (e) {
        e.preventDefault()
        publishArticle('草稿')
    })
})
